beginobjectscript; // talking object

variables;
short cur_tick;
short zap_chance = 25;
short r1;

body;

beginstate INIT_STATE;
	cur_tick = get_current_tick();
	break;

beginstate DEAD_STATE;
	break;

beginstate START_STATE; 
	if (gf(61,12) > 0) {
		if ((tick_difference(cur_tick,get_current_tick()) > 0) && (gf(61,get_memory_cell(0)) == 0)) {
			cur_tick = get_current_tick();
			
			if (get_ran(1,0,100) < zap_chance) {
				zap_chance = 25;
				pc_heard_sound(238); 
				run_sparkles_on_object(ME,177,1,4);
				r1 = get_ran(1,150,250);
				damage_nearby(r1,7,1,0);				
				
				if (get_nearest_party_char(8) >= 0) {
					print_str_color("A pylon discharges its energy.",2);
					create_missile_spiral(155,20,7,2);
					}
				if ((gf(61,13) == 0) && (get_nearest_party_char(10) >= 0)) {
					sf(61,13,1);
					begin_talk_mode(6);
					}
				}
				else zap_chance = zap_chance + 25;
			}
			
		}
		
	
	break;

beginstate USE_STATE;
	sf(61,23,get_memory_cell(0));


	begin_talk_mode(130);
break;
